
using System.Collections;
using System.Collections.Generic;
using Newtonsoft.Json;

public class LvEntity{
    public string name;
    public GameNodeEntity rootNode;
    // public GameNodeEntity[] pairArr;
    public List<GameNodeEntity> changeNodeList;

    public int idStartIndex = 0;
}

public class GameNodeEntity
{
    public float LineDistance = 0f;
    public string id;
    public string text;
    public string des;
    public string imgName;
    public List<GameNodeEntity> subNodes = new();


    //谜题类型
    public int pswdType = (int)PswdType.empty;
    public int pswdCount;
    public string[] pswdArgs;
    public string password;
    public string pswdInitValues;//这里以后要改成  字符串数组 因为有字符密码
    public string pswdUIModuleName;

    //可配对类型
    public string pairId = "";



    
    public List<int> firstAccessEventType = new();//访问节点（点第一次）
    public List<string[]> firstAccessEventTypeArgs = new();
    public List<int> confirmEventType = new();//确认节点（点第二次）
    public List<string[]> confirmEventTypeArgs = new();//确认节点（点第二次）
    public bool moreConfirmEvent = false;//是否可以多次点击
    public List<int> crackedEventType = new();//破解谜题成功
    public List<string[]> crackedEventTypeArgs = new();
    public string dragToNode = null;//拖动到某个节点
    public List<int> dragToNodeEventType = new();
    public List<string[]> dragToNodeEventTypeArgs = new();


    //基础聊天
    public string[] chat;


    //随机节点
    public string[] randomArr;





    [JsonIgnore]
    public GameNodeEntity parent;
    [JsonIgnore]
    public bool isRoot = false;
    [JsonIgnore]
    public bool isChange = false;

}



// public class EventTriggerEntity{
//     public int triggerType = -1;
//     public string[] args = null; 
// }


public class OpenCondition
{
    public int type;
    public string id;
}



public class ItemCfg
{
    public List<Item> ItemList;
}

public class Item
{
    public string name;
    public string resName;
}